The present invention relates generally to the field of debugging software applications, and more particularly to employing code overlays to apply and remove code from within a software application.
Debugging applications typically involves executing applications in a simulated runtime environment. Debugging an application allows a developer to identify errors in the application's code and correct them. Debugging of applications can be done in numerous ways, including for example, in a development environment used to develop the application code or alternatively in a debugging component associated with a web browser.
An application is defined by application code. The application code may differ depending on the type of device, or the runtime environment in which the application is executed. For example, source code or object code may be written in any combination of one or more programming languages, including an object oriented programming language, such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. Alternatively, the application code may be expressed using a mark-up language, such as hypertext mark-up language (HTML) or a script language. In addition to the application code, the application may also include dynamically generated code, which is generated by the application code during execution of the application. Depending on the programming language that is used to create a software application, the application code may need to be compiled into a machine language version of the application. Other programming languages are capable of being executed via a software interpreter. Interpreters and compilers are not mutually exclusive. An interpreter may execute a program by parsing the source code and performing its behavior directly, by translating source code into some efficient intermediate representation and immediately executing the representation, or by explicitly executing stored, precompiled code made by a compiler that is part of the interpreter system.